Higher-Order Redundancy Elimination
نویسنده
چکیده
Functional programs often de ne functions by pat tern matching where patterns may inadvertedly overlap through successive function calls This leads to hidden in e ciencies since the recursively called function possibly repeats redundant tests while trying to match the pat tern An analysis which is based on conservative symbolic execution similar to higher order constant propagation is proposed for a strict higher order language to drive an arity raiser which generates specialized versions for func tions with partially known arguments To ensure termi nation only the de nitely consumed part of the partially known arguments is considered
منابع مشابه
The Generation of a Higher-Order Online Partial Evaluator
We address the problem of generating an online partial evaluator for a higher-order, functional language from an appropriate interpreter using a state-of-the-art ooine partial evaluator. To ensure termination of the generated online spe-cializer the interpreter computes a self-embedding property on closure values and data structures. This guarantees termination whenever there is no static loop ...
متن کاملRedundancy Elimination in Monodic Temporal Reasoning
The elimination of redundant clauses is an essential part of resolution-based theorem proving in order to reduce the size of the search space.p In this paper we focus on ordered fine-grained resolution with selection, a sound and complete resolution-based calculus for monodic first-order temporal logic. We define a subsumption relation on temporal clauses, show how the calculus can be extended ...
متن کاملA higher-order strategy for eliminating common subexpressions
Optimizing compilers often perform an operation known as common subexpression elimination to improve code efficiency. Typically this is accomplished either by pruning a directed acyclic graph to replace eliminated subexpressions by memory fetches of stored values or by using partial redundancy elimination, a data-flow analysis method. In this paper a higher-order strategic method is presented t...
متن کاملCode Optimization as a Side E ect of Instruction Scheduling
An instruction scheduler utilizes code reordering techniques for generating schedules in which instructions can be issued without delays. In order to perform code reordering across branches, code motion is performed that hoists some instructions above branches and sinks others below branches. Following code reordering , compensation code must be introduced in order to preserve program semantics...
متن کاملRegister Pressure Sensitive Redundancy Elimination
Redundancy elimination optimizations avoid repeated computation of the same value by computing the value once, saving it in a temporary, and reusing the value from the temporary when it is needed again. Examples of redundancy elimination optimizations include common subexpression elimination, loop invariant code motion and partial redundancy elimination. We demonstrate that the introduction of ...
متن کاملSystem Description: iProver – An Instantiation-Based Theorem Prover for First-Order Logic
iProver is an instantiation-based theorem prover which is based on Inst-Gen calculus, complete for first-order logic. One of the distinctive features of iProver is a modular combination of instantiation and propositional reasoning. In particular, any state-of-the art SAT solver can be integrated into our framework. iProver incorporates state-of-the-art implementation techniques such as indexing...
متن کامل